# 单、双、三包起来的，都是字符串
a = '侯雯中'
b = "侯雯中"
c = """侯雯中"""
"""
print(a)
print(b)
print(c)
"""
# test = "来测科技22期班级在旭辉中心B座3301"
"""
从左面到右面，是0开始
来：0
测：1
科：2
....

从右面到左面，-1开始
1 ：-1
0：-2
3：-3
3：-4
座：-5
...
"""
"""
print(test[0]) # 来
print(test[1]) # 测
print(test[-1]) #1
print(test[-2]) #0
"""
# 字符串是不可变的数据类型，里面的内容不可以被重新赋值、替换
# test[5] = "侯雯中" # TypeError: 'str' object does not support item assignment
# 但是，你可以通过索引，将值取出来，定义给新的变量
"""
e = test[5]
print(e) # 2
"""
# 切片
# 切片公式： 变量[start:end:step]
"""
print(test[0:5]) # 从角标0~角标5的位置取出来，但是，不包括下标5的值
print(test[2:6]) # 科技22
print(test[3:8]) # 技22期班
"""
# 步进，每隔几个取
# print(test[0:5:2])  # 来科2
classinfo = "辽宁省沈阳市沈河区旭辉中心B座3301，33楼来测科技第22期班级"
# print(classinfo[5]) # 市
# print(classinfo[0:3]) # 辽宁省
# print(classinfo[9:13]) # 旭辉中心
# print(classinfo[2:]) #省沈阳市沈河区旭辉中心B座3301，33楼来测科技第22期班级
# print(classinfo[:6]) # 从头开始取，不包含角标6
# print(classinfo[-6:]) # 第22期班级

# 步长默认为1
# print(classinfo[0:8:2]) # 辽省阳沈
# print(classinfo[8:0:-2]) # 倒着取
# print(classinfo[::-1]) # 倒叙

# 字符串内置方法
x = "abcdefghjkmlnopqrstuvwxyzl"
"""
print("大家好，我叫{}".format("侯雯中"))
print(x.find("l")) # 在哪里 11
print(x.count('l')) # 2
print(x.capitalize()) # Abcdefghjkmlnopqrstuvwxyzl
print(x.rfind('l')) # 返回它的最大索引
print(x.endswith("l")) # True，判断最后一位是不是l
print(x.endswith("w")) # False 判断最后一位是不是w
print(x.startswith('a')) # True
print(x.startswith('w')) # False
print(x.isalpha()) # True
"""
# print(x.replace("a","AA")) # 字符串替换方法 ，但是没有真正的改掉x字符串，因为字符串不可变
# ...

# a对应的数字就是97，A对应的数字就是65
"""
print(ord('A')) # 65
print(ord('B')) # 66
print(ord('C')) # 67
print(chr(68)) # D
"""

# 成员运算符 in / not in
x1 = 10
"""
if x1 in (10,20,30): # x1的变量在后面的序列，in包含的意思
    print("x1在后面的序列里")
else:
    print("不在序列里")
    """
"""
if x1 not in (10,20,30):
    print("x1不在10，20，30里")
else:
    print("在10，20，30里")
"""

# 身份运算符 is  not is
# 判断的是两个地址值是否一样
# 因为int类型是不可变的，所以当两个相同值的时候，地址值是一样的
a1 = 5
b1 = 5
# print(id(a1))
# print(id(b1))
"""
if a1 is b1:
    print("a1 和 b1 的地址值是一样的")
else:
    print("a1 和 b1 的地址值是不一样的")
    """
# 判断两个字符串的地址是否一样
# 因为字符串是不可变的数据结构，所以当内容一样的时候，指向的内存空间都是同一处
"""
a2 = "aa"
b2 = "aa"
# print(id(a2))
# print(id(b2))
if a2 is b2:
    print("a2 和 b2的地址值是一样的")
else:
    print("a2 和 b2的地址值不一样")
"""

# 判断两个列表的地址是否一样
# 列表是可变的，即使两个列表的内容一样，但是地址值也会指向不同
a3 = [1,2,3]
b3 = [1,2,3]
# print(id(a3))
# print(id(b3))
if a3 is b3 :
    print("a3 和 b3的地址值是一样的")
else:
    print("a3 和 b3的地址值是不一样的")













